<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>智憬AI</title>
    <style>
        button {
            padding: 12px 24px;
            font-size: 16px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        .tips {
            margin-top: 20px;
            color: #666;
            font-size: 14px;
        }
    </style>
</head>
<body>
<h3>UniApp 应用唤起测试</h3>
<button onclick="openApp()">点击打开我的 UniApp</button>
<div id="statusTips" class="tips"></div>
<script>
    let token = '${token}';

    if(token === '-1'){
        document.getElementById('statusTips').textContent = '获取token失败，请检查配置或联系管理员。';
    }

    // 统一配置URL Scheme（需与UniApp中配置的协议一致）
    const APP_SCHEME = 'hwapp://pages/index?token=' + token;

    function openApp() {
        document.getElementById('statusTips').textContent = '正在尝试打开应用...' + APP_SCHEME;

        // 记录开始时间，用于检测APP是否成功唤起
        const startTime = new Date().getTime();

        // 尝试通过URL Scheme打开APP（先处理Android）
        const openApp = () => {
            document.getElementById('statusTips').textContent = '正在尝试打开应用 openApp...' + APP_SCHEME;
            window.location.href = APP_SCHEME;

            // 针对iOS的延迟处理（利用iframe方案作为备用）
            if (isIOS()) {
                setTimeout(() => {
                    const iframe = document.createElement('iframe');
                    iframe.style.display = 'none';
                    iframe.src = APP_SCHEME;
                    document.body.appendChild(iframe);
                    setTimeout(() => {
                        document.body.removeChild(iframe);
                    }, 1000);
                }, 500);
            }
        };

        // 检测是否为iOS系统
        function isIOS() {
            return /iPhone|iPad|iPod/.test(navigator.userAgent);
        }

        // 执行打开操作
        openApp();

        // 检测APP是否成功唤起（通过时间差判断）
        const checkAppOpen = () => {
            if (new Date().getTime() - startTime > 2000) {
                document.getElementById('statusTips').textContent =
                    '未检测到应用响应，请确认：\n1. 应用已正确安装\n2. URL Scheme配置正确\n3. 设备权限已开启';
            } else {
                setTimeout(checkAppOpen, 100);
            }
        };

        checkAppOpen();
    }

    // 页面加载完成后初始化
    window.addEventListener('load', function() {
        // 为链接添加点击事件（防止iOS默认处理）
        document.getElementById('appLink').addEventListener('click', function(e) {
            e.preventDefault();
            openApp();
        });
    });
</script>
</body>
</html>
